package com.tucy.logistics.common.entity.vehicle;

import javax.validation.constraints.Size;
import javax.validation.constraints.NotNull;

import java.io.Serializable;
import java.math.BigDecimal;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.tucy.logistics.common.base.BaseEntity;
import com.tucy.logistics.common.entity.user.SystemFile;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.Setter;
import org.hibernate.validator.constraints.Length;

/**
* 车辆信息表
* @TableName vehicle_info
*/
@Setter
@Getter
@TableName("vehicle_info")
public class VehicleInfo extends BaseEntity implements Serializable {

    /**
    * 车辆系统编号
    */
    @NotNull(message="[车辆系统编号]不能为空")
    @ApiModelProperty("车辆系统编号")
    private Long id;
    /**
    * 车牌号
    */
    @Size(max= 40,message="编码长度不能超过40")
    @ApiModelProperty("车牌号")
    @Length(max= 40,message="编码长度不能超过40")
    private String vehicleNumber;
    /**
    * 车型系统编号
    */
    @ApiModelProperty("车型系统编号")
    private Long vehicleTypeId;
    /**
    * 车型名称
    */
    @Size(max= 40,message="编码长度不能超过40")
    @ApiModelProperty("车型名称")
    @Length(max= 40,message="编码长度不能超过40")
    private String vehicleTypeName;
    /**
    * 车型编码
    */
    @Size(max= 40,message="编码长度不能超过40")
    @ApiModelProperty("车型编码")
    @Length(max= 40,message="编码长度不能超过40")
    private String vehicleCode;
    /**
    * 品牌logo
    */
    @Size(max= 40,message="编码长度不能超过40")
    @ApiModelProperty("品牌logo")
    @Length(max= 40,message="编码长度不能超过40")
    private String vehicleLogo;
    /**
     * 体积
     */
    @ApiModelProperty("体积")
    private BigDecimal volume;
    /**
     * 载重
     */
    @ApiModelProperty("载重")
    private BigDecimal loadWeight;
    /**
    * 说明
    */
    @Size(max= -1,message="编码长度不能超过-1")
    @ApiModelProperty("说明")
    @Length(max= -1,message="编码长度不能超过-1")
    private String remark;

    @ApiModelProperty("行驶证")
    @TableField(exist = false)
    private VehicleLicense license;

    @ApiModelProperty("附件")
    @TableField(exist = false)
    private List<SystemFile> vehicleFiles;

}
